\usetikzlibrary{matrix, positioning}
\begin{tikzpicture}
  \matrix 
  [matrix of nodes, nodes in empty cells,
  row sep={3em,between origins},
  nodes={text width=1em, align=center,
      minimum height=1em, anchor=base}] (m)
  {
    \node(up1){}; &                                           & \node(up2){};\\
                  & \node[circle, radius=2em, draw](ni){$n_i$};  &              \\
    \node(down1){}; &                                         & \node(down2){};\\
  };

  \node [right=0em of up2.south east] {前驱};
  \node [right=0em of down2.north east] {后继};
  \node [right=0em of ni.east] {M, $\text{A}_{1}, \text{A}_{2}, \text{A}_{3}$};

  \draw [-] (m.north west) -- ([xshift=5em]m.north east);
  \draw [-] (m.south west) -- ([xshift=5em]m.south east);
  \draw [->] (up1) --(ni);
  \draw [->] (up2) --(ni);
  \draw [->] (ni) --(down1);
  \draw [->] (ni) --(down2);
\end{tikzpicture}